This disclosure relates generally to augmented reality applications, and in particular but not exclusively, relates to the tracking of an object in augmented reality applications.
A significant challenge to enabling Augmented Reality (AR) on mobile phones or other mobile platforms is the problem of tracking objects robustly and in real-time. Object tracking for AR applications has very demanding requirements: it must deliver full six degrees of freedom, give absolute measurements with respect to a given coordinate system, be very robust and run in real-time. Of interest are methods to compute camera pose using computer vision (CV) based approaches, which rely on first detecting and, subsequently, tracking objects within the camera view. In one aspect, the tracking operations include detecting and tracking the edges of the object in order for the augmentations rendered by the graphics engine to be tightly aligned with the real (world) object.
The main difficulty in an edge-based tracker is the correspondence problem, i.e., to reliably and correctly match a model edge segment (can be 2D or 3D) to one of the detected edge pixels in an image. Establishing correspondences is typically straightforward for objects that have high contrast, sparse and well defined edges, for example, by associating the model edge to the eligible edge pixel nearest to its projection in the image (nearest neighbor association). This simple approach usually results in a large number of correctly matched model-image edge pairs, assuming that interframe motion of the model projection is small. However, when there are rich textures on the target object, edge pixels are more difficult to match. For example, nearest neighbor association is likely to contain a large number of erroneous correspondences, due to the number of edge pixels detected next to the model projection and their appearance ambiguity. A large number of erroneous feature correspondences eventually leads to tracking failure. Furthermore, in an AR application, faster tracker is preferred, since faster trackers leave more time for complex virtual object rendering. As a result, there is the need for efficient feature correspondence methods.